见识数据分析的「独孤九剑」 | 说人话的统计学·协和八
数据分析的独孤九剑——
贝 叶 斯 统 计 学
在上一集里,我们展示了一个也许有些吓人的事实:
即便你的科学假说经受住了p<0.05的考验,它真的成立的概率却是一个跟p值没太大关系的数字。它可能很大,也可能很小,具体会是多大的一个数取决于一些其他因素。
然而,很多时候情况并不乐观(上一集的例子就是一个相当具有一般性的情形),你引以为豪的科学发现也许只是个假阳性结果,也就是俗称的“诈和”了。
更糟糕的是,当今学术界的文化、科学文献的审查和出版机制存在着种种弊端,这些都会给鱼龙混杂的文献注入更多的水分,使得假阳性结果进一步增多。这也是为什么有人虽有些危言耸听却又不无根据地疾呼:绝大多数科研成果都是假的!(戳这里回顾上一集《你的科研成果都是真的吗?》)
看完了上一集,你也许会说:好吧,学术界自己的这些问题咱们就先不说了,可是那些个统计学家干嘛一上来就把事情搞得那么纠结呢?什么p值啊、原假设啊、功效啊,一个个定义都绕得要死,弄得我们头都大了,为什么不发明一些统计检验直接算出假设成立的可能性呢?
答案是,
那样的统计学方法是有的!
而且值得一提的是,那一套由贝叶斯(Bayes)、拉普拉斯(Laplace)两位数学大神在18世纪就发展起来的统计学理论,相比起近几十年来才流行起来的由p值唱主角儿的“频率学派”假设检验方法,历史要悠久得多。
于是你更奇怪了:那既然贝叶斯学派资格老,还容易理解,为什么统计学家后来还要另辟蹊径弄出一套完全不同的东西?为什么现在似乎大多数人学的、用的不是贝叶斯统计学?
为了解答这个问题,我们今天就来研究一下贝叶斯统计学到底是怎么一回事,看看我们是不是也能玩得转这统计学中的“独门秘器”。
条件概率 与 贝叶斯定理
环顾各式各样的概率论和统计学入门书,你会发现满眼都是t检验、方差分析、线性回归等等“频率学派”的统计学方法。然而有意思的是,这些书几乎都会用不少的篇幅来讲一个叫做贝叶斯定理的东西,可是讲完之后似乎又再没什么下文了。
这个定理和我们今天要讲的主题都被冠上了贝叶斯的大名,这可不是出于巧合——贝叶斯定理恰恰就是整个贝叶斯统计学的理论基础,我们在上一集的例子中计算得到显著结果的药物到底有多大可能真的有效,实际上用的也是它(如果你在阅读上一集时就已经反应过来,“哎哟我去,这不就是贝叶斯定理嘛!”,那么不妨直接跳到下一节)。
贝叶斯定理是一条关于条件概率的定理。
所谓概率,就是用0和1之间的数来表示某件事情发生的可能性大小,如果我们感兴趣的事件用A表示,那么它的概率就写成P(A)。
概率为0就是不可能事件,概率为1就是必然事件,而在这两者之间,概率越大则可能性越大。(其实“频率派”和“贝叶斯派”在概率的定义上就开始吵了,这也是两者最根本的分歧,我们暂时按下不表,只采用比较笼统的理解。)
条件概率指的是,在某件事情A发生的前提下,另一件事情B发生的概率,用P(B | A)表示(注意在竖线后面的是条件,前面的是我们感兴趣的事件)。
比如说,东单某著名医学院一共有1000个学生,其中400个男生,600个女生。我们知道女生里头有一半穿裙子,一半穿裤子,而在男生中,不知道出于什么原因也有40个穿裙子,剩下的男生则都是穿裤子。如果我们想知道男生中穿裙子的比例,那么这就是条件概率P(裙|男)。
这个条件概率怎么算呢?这好办,我们就数数在所有人里有多少个穿裙子的男生,然后除以男生的总数就行了。根据上述条件,有:
用类似的方法我们可以算出P(裤 | 男) = 0.9,P(裙 | 女) = P(裤 | 女) = 0.5。因此,条件概率的一般公式是:
简单来说,就是条件A之下B发生的概率等于A和B同时发生的概率除以B发生的概率。如果等式两边同时乘以P(B),我们还可以得到:
现在问题来了,某一天,重度近视的你忘了戴眼镜,朦朦胧胧间你看见一个穿裙子的身影翩然而至,可是你怎么也看不清来人到底是男是女。那么,眼前这人是男生的概率是多少?
用数学的语言来说,现在你想知道的是,在已知眼前这人穿裙子的前提下,此人是男生的条件概率,也就是P(男 | 裙)。可是,我们之前算过的只是把性别作为条件、穿着作为事件的概率,比如说P(裙 | 男)。
怎样能把这个次序翻过来呢?
根据条件概率的定义((2)式),我们可以写出:
先看右边的分子,P(男 & 裙)是“一个人是男生”和“一个人穿裙子”这两个事件同时发生的概率,根据(3)式我们可以把它改写成含有条件概率的形式。
记住,我们已经知道条件概率P(裙 | 男)的值,因此,我们套用(3)式把右边的分子拆开:
现在你会发现,等式右边分子上相乘的两项都是已知的了,所以我们只剩下分母P(裙)了。它实际上就是在所有学生里穿裙子的人的比例。
怎么算呢?
你一定很快就能想到,根据男女生的人数和各自穿裙子的比例,算出穿裙子的男生人数和穿裙子的女生人数,然后除以总人数不就行了?
没错!如果把这个思路写成数学式子,实际上就是把P(裙)拆成P(男&裙)与P(女&裙)之和,然后再分别套用一次(3)式:
如果我们把(6)代入(5),所有的项就都是已知的了,由此我们就能算出眼前这个穿裙子的同学是男生的概率:
推导出了贝叶斯定理,我们立刻就来用它验证一下上一集药物有效性的例子。
如果我们把一个药物实际有效和无效分别用√和X表示,而实验结果有无统计学显著性分别用+和-表示,那么当我们得到显著结果时药物真正有效的可能性就是条件概率P(√ | +)。
回顾显著性和功效的定义,
显著性是原假设成立(即药物无效)时错误地得到显著结果的概率,即P(+ | X) = 0.05;
功效是假设的效应真实存在(即药物有效)时正确地得到显著结果的概率,即P(+ | √)=0.8。
而且,在我们的例子里,100种被测试药物中只有5种实际有效,也就是P(√) = 5/100 = 0.05,P(X)=95/100=0.95。用贝叶斯公式我们可以写出:
把已知条件代入,我们会算出45.7%,和上一集我们用数格子的办法得到的结果相同(算出来的数值有细微的差别是因为上一集我们把4.75种假阳性药物四舍五入成了5种)。
从 贝叶斯定理 到 贝叶斯统计学
你也许要说:So what?从小到大,什么定理我没见过?
英国的牛顿、美国的爱因斯坦,比贝叶斯不知道有名多少倍,我在中学课堂上就跟他们谈笑风生了,这定理有啥了不起?
贝叶斯定理牛掰的地方,不仅在于它独力撑起了一整个统计学流派,也不只因为它是现在最火热的“大数据”机器学习的核心,还在于它与我们人类的思维方法十分贴近。
在日常生活中,我们总是在不断观察周围的环境,然后把观察到的现象用某种假说来解释。我们如何知道这种假说有多大可能成立呢?注意到在(7)式中,A和B只是抽象的符号,可以代表任何的事物。因此,我们把“假说”和“现象”分别代替A和B,就能得到:
于是,贝叶斯定理就摇身一变,从一条关于条件概率的定理变成了描述人们认知规律的工具。
它告诉我们,在观察到某个现象之后,某一假说成立的概率(即等式左边的P(假说 | 现象),又称为“后验概率”)由三个因素决定:
一、在这个假说成立的前提下产生这么一个现象的可能性P(现象 | 假说),或者说是现象有多符合假说的预测,我们称为
“似然”(likelihood);
二、这个假说本身成立的可能性大小,由于这是对观察到现象之前来说的,因此我们称为
“先验概率”(prior probability);
三、在万事万物中出现这一现象本身的可能性P(现象),我们称为
“证据”(evidence)。
假设我们只考虑两种解释,分别称为“假说1”和“假说2”。于是我们把两种解释分别套进上面的(9)式里,就写出了两条式子:
注意到两式右边的分母都是一样的,所以我们实际上是要比较P(现象 | 假说1)*P(假说1)和P(现象 | 假说2)*P(假说2)这两个乘积哪个大。比如说,我们看到数列 -1, 3, 7, 11,你说它是一个以4为公差的等差数列呢,还是
-X3 / 11 + 9/11*X2 + 23/11
每项把前项作为 X 代入后算出来的数列?
我们稍微计算一下,就会发现这两个假说都可以完美地解释看到的数列(也就是说观察到的数列在两个假说之下的似然分别都是1)。但是你一定会说,虽然数字上都说得通,可是这后一种说法简直太扯了,谁没事折腾一这么复杂的多项式呢?在这时,你实际上就是在比较这两种假说的先验概率P(假说1)和P(假说2)。所以,贝叶斯定理只不过是把我们习惯的思考方式用数学语言表达出来而已。
在这里我们也可以回想上一集说过的“基数谬误”,为什么在具有显著结果的药物中真正有效的比例并不高呢?这恰恰就是因为药物有效的先验概率(100种里只有5种)太低了,尽管得到的显著结果与药物有效这个假说看起来十分符合(即“似然”很大),得到的后验概率仍然不大。
说了这么多,我们离贝叶斯统计学只有一步之遥了。
我们刚刚讲过,贝叶斯定理可以描述现象与假说之间的关系。那么在统计学的眼里,
现象是什么呢?自然是我们做研究得到的数据了。
那么假说呢?既然统计学是一门定量的学问,我们同样需要量化的方法来描述我们的假说。比如说,你想研究一个区域的人均期望寿命, 或者不同干预手段对病人存活率的影响,又或者是家庭收入与某种疾病发病年龄的相关关系,所有这些假说都需要有特定的数量来表述,这些数量我们称为“参数”。
统计学的目的,就是考察在既有的数据之下,以某些参数来表示的假说成立的可能性。因此,我们再把贝叶斯定理改头换面一下:
这就是贝叶斯统计学所有方法追根溯源的核心了!
通过这样的分析,我们可以算出在给定我们当前已有数据的前提下,某个假说(由一系列参数表示)成立的概率。
了解了贝叶斯统计学的思想方法,它和当今主流的频率学派统计学的区别在哪里?既然说是“独孤九剑”,为何它又曾沉寂多时?我们能在自己的数据分析中运用贝叶斯统计学吗?
所有这些问题,诸位看官请听下回分解。
✪
回复「说人话的统计学」查看本系列全部文章。
参考文献:
1. Kruschke, J. (2014). Doing Bayesian data analysis: A tutorial with R, JAGS, and Stan. Academic Press.
2. 刘未鹏 《平凡而又神奇的贝叶斯方法》
3. MacKay, D. J. (2003). Information theory, inference and learning algorithms. Cambridge university press.
4. Carlin, B. P., & Louis, T. A. (2008). Bayesian methods for data analysis. CRC Press.
作者:张之昊
编辑:灯盏细辛